1 面向对象的三个特征
- 封装
隐藏类的实现细节,只能通过事前制定好的方法来访问数据,可进行数据检查。
例子,将成员变量声明为private,再通过public的方法(setXxx,getXxx)对这个变量进行访问。 - 继承
使用以前建造的类的方法和属性,只能继承private和public的方法和属性super - 多态
有继承,有重写,父类引用指向子类对象
2 构造函数
- 与类同名
- 一般都是public的,除非单例
- 不含返回值
- 也可以被重载
- 一旦用户定义类构造函数,系统不再提供默认构造函数
3 this
- 所属对象的引用变量
- 类成员变量和构造函数的形参同名,类成员变量前必须用this
- 指代构造函数
4 调用成员变量
类 | 实例 | |
---|---|---|
成员变量 | 错 | 对 |
静态成员变量 | 对 | 对 |
5 重载 重写
重载:是在同一个类中允许同时存在一个以上的同名函数,但参数个数或类型不同。
- 注意:不允许两个方法的参数相同,但返回值不同的情况。
6 static
- 只能在类中,声明成员变量和成员函数
- 不能在函数内声明static
7 final
final 可以声明类,属性,方法
- 类不能被继承
- 属性为常量
- 方法不能被子类继承
8 抽象类 接口
- 抽象类,抽象方法必须用abstract修饰
- 抽象类不能被new
- 抽象方法只能声明,不能实现
- 抽象类的子类必须实现所有的抽象方法,才能被new,否则还是abstract类
- 接口是抽象方法和常量值的定义的集合,接口是一种特殊的抽象类
- 接口可以继承接口
- 抽象方法不能new,只能通过子类extends抽象类,并实现全部抽象方法,子类才能new。
- 抽象类中的成员变量,和普通类的成员变量没区别,只是方法有区别。
接口 | 抽象类 |
---|---|
接口的方法默认是public,所有方法在接口中不能有实现 | 抽象类可以有非抽象的方法 |
接口中的实例变量默认是final,只能赋值一次 | 而抽象类中则不一定 |
一个类可以实现多个接口 | 一个类最多只能继承一个抽象类 |
一个类要实现接口的话,必须实现接口的所有方法 | 一个类要继承一个抽象类的话,不必实现所有的抽象方法 |
接口不能用new实例化,但可以声明,必须引用一个实现了该接口的对象 |
如果一个类只实现了接口的部分方法,那么该接口变为抽象类
9 多态
多态(Polymorphic)也叫动态绑定(Dynamic Binding)
动态绑定是指在执行期间(而非编译期间)判断所引用对象的实际类型,根据其实际类型调用其相应的方法。
多态必备的三个条件
- 有继承
- 有重写
- 父类引用指向子类对象
|
|